document.addEventListener('DOMContentLoaded', function() {
    // 页面切换
    const page1 = document.getElementById('page1');
    const page2 = document.getElementById('page2');
    const page3 = document.getElementById('page3');
    
    const startBtn = document.getElementById('startBtn');
    const backBtn = document.getElementById('backBtn');
    const backToQueryBtn = document.getElementById('backToQueryBtn');
    
    // 查询表单元素
    const nameInput = document.getElementById('name');
    const schoolInput = document.getElementById('school');
    const queryBtn = document.getElementById('queryBtn');
    const errorMsg = document.getElementById('errorMsg');
    
    // 贺卡相关元素
    const cardStyles = document.querySelectorAll('.card-style');
    const cardContent = document.getElementById('cardContent');
    const saveBtn = document.getElementById('saveBtn');
    
    // 获奖数据存储
    let awardData = null;
    let userData = null;
    
    // 页面1 -> 页面2
    startBtn.addEventListener('click', function() {
        page1.classList.remove('active');
        page2.classList.add('active');
    });
    
    // 页面2 -> 页面1
    backBtn.addEventListener('click', function() {
        page2.classList.remove('active');
        page1.classList.add('active');
        clearForm();
    });
    
    // 页面3 -> 页面2
    backToQueryBtn.addEventListener('click', function() {
        page3.classList.remove('active');
        page2.classList.add('active');
        saveBtn.style.display = 'none';
    });
    
    // 读取Excel数据
    fetch('工作簿1.xlsx')
        .then(response => response.arrayBuffer())
        .then(data => {
            const workbook = XLSX.read(data, { type: 'array' });
            const firstSheetName = workbook.SheetNames[0];
            const worksheet = workbook.Sheets[firstSheetName];
            awardData = XLSX.utils.sheet_to_json(worksheet);
            console.log('Excel数据加载成功:', awardData);
        })
        .catch(error => {
            console.error('加载Excel文件时出错:', error);
            alert('无法加载获奖数据，请确保"工作簿1.xlsx"文件存在且路径正确。');
        });
    
    // 查询按钮点击事件
    queryBtn.addEventListener('click', function() {
        const name = nameInput.value.trim();
        const school = schoolInput.value.trim();
        
        if (!name || !school) {
            showError('请输入姓名和学校');
            return;
        }
        
        if (!awardData) {
            showError('数据加载中，请稍后重试');
            return;
        }
        
        // 检查学校是否存在
        const schoolExists = awardData.some(item => 
            item.学校 && item.学校.toString().trim() === school
        );
        
        if (!schoolExists) {
            showError('该学校没有获奖者信息');
            return;
        }
        
        // 查询用户信息
        const userInfo = awardData.find(item => 
            item.作者 && item.作者.toString().trim() === name && 
            item.学校 && item.学校.toString().trim() === school
        );
        
        if (userInfo) {
            userData = userInfo;
            showError('');
            page2.classList.remove('active');
            page3.classList.add('active');
            generateCardPreview();
        } else {
            showError('没有查询到该信息');
        }
    });
    
    // 选择贺卡样式
    cardStyles.forEach(style => {
        style.addEventListener('click', function() {
            const styleId = this.getAttribute('data-style');
            generateCard(styleId);
            saveBtn.style.display = 'block';
        });
    });
    
    // 保存贺卡
    saveBtn.addEventListener('click', function() {
        // 这里是模拟保存功能，实际在手机上可能需要更多权限处理
        alert('贺卡已保存到本地相册！\n(实际项目中需要额外处理图片保存功能)');
    });
    
    // 显示错误信息
    function showError(message) {
        errorMsg.textContent = message;
    }
    
    // 清空表单
    function clearForm() {
        nameInput.value = '';
        schoolInput.value = '';
        showError('');
    }
    
    // 生成贺卡预览
    function generateCardPreview() {
        if (!userData) return;
        
        // 转换奖项名称
        const awardMapping = {
            '金奖': '一等奖',
            '银奖': '二等奖',
            '铜奖': '三等奖'
        };
        
        const award = awardMapping[userData.奖项] || userData.奖项;
        
        // 生成随机祝福语
        const messages = [
            `亲爱的${userData.作者}同学，恭喜你在${userData['比赛名称']}中荣获${award}！你的才华和努力令人钦佩，大家都很想你，期待与你再次相聚！`,
            `祝贺你${userData.作者}！在${userData['比赛名称']}中获得${award}是对你创意和实力的最好证明。我们都很想念你，希望你一切顺利！`,
            `太棒了${userData.作者}！你的作品在${userData['比赛名称']}中脱颖而出，荣获${award}。大家都为你感到骄傲，期待你带来更多精彩作品！`,
            `恭喜${userData.作者}同学荣获${userData['比赛名称']}${award}！你的创意和努力激励着身边的每一个人。我们都很想你，祝你未来更加辉煌！`
        ];
        
        const randomMessage = messages[Math.floor(Math.random() * messages.length)];
        
        // 填充贺卡内容
        cardContent.innerHTML = `
            <div class="card-header">
                <div class="card-title">四川大广赛</div>
                <div class="card-subtitle">${userData['比赛名称']}</div>
            </div>
            <div class="card-body">
                <div class="award-info">${award}</div>
                <div class="message">${randomMessage}</div>
            </div>
            <div class="card-footer">
                ${new Date().getFullYear()}年 ${userData.学校}
            </div>
        `;
    }
    
    // 生成特定样式的贺卡
    function generateCard(styleId) {
        if (!userData) return;
        
        // 样式颜色配置
        const styles = {
            '1': { 
                bgColor: '#FFE0B2', 
                titleColor: '#D32F2F',
                subtitleColor: '#E65100',
                awardColor: '#D32F2F',
                messageColor: '#3E2723',
                footerColor: '#4E342E',
                borderColor: '#FFCC80'
            },
            '2': { 
                bgColor: '#E3F2FD', 
                titleColor: '#1565C0',
                subtitleColor: '#0277BD',
                awardColor: '#1565C0',
                messageColor: '#263238',
                footerColor: '#37474F',
                borderColor: '#BBDEFB'
            },
            '3': { 
                bgColor: '#E8F5E9', 
                titleColor: '#2E7D32',
                subtitleColor: '#2E7D32',
                awardColor: '#2E7D32',
                messageColor: '#1B5E20',
                footerColor: '#2E7D32',
                borderColor: '#A5D6A7'
            },
            '4': { 
                bgColor: '#F3E5F5', 
                titleColor: '#7B1FA2',
                subtitleColor: '#6A1B9A',
                awardColor: '#7B1FA2',
                messageColor: '#4A148C',
                footerColor: '#4A148C',
                borderColor: '#CE93D8'
            }
        };
        
        const style = styles[styleId];
        if (!style) return;
        
        // 应用样式
        cardContent.style.backgroundColor = style.bgColor;
        cardContent.style.border = `5px solid ${style.borderColor}`;
        
        // 更新内容
        generateCardPreview();
        
        // 应用文字颜色
        cardContent.querySelector('.card-title').style.color = style.titleColor;
        cardContent.querySelector('.card-subtitle').style.color = style.subtitleColor;
        cardContent.querySelector('.award-info').style.color = style.awardColor;
        cardContent.querySelector('.message').style.color = style.messageColor;
        cardContent.querySelector('.card-footer').style.color = style.footerColor;
    }
});